@Provider("PIMService")
@PactFolder("pacts")
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 

public class ItemsPactProviderTest {
    
    @LocalServerPort
    int port;

    @MockBean
    private ItemRepository itemRepository;

    @BeforeEach
    void setUp(PactVerificationContext context) {
        context.setTarget(new HttpTestTarget("localhost", port));
    }

    @TestTemplate
    @ExtendWith(PactVerificationInvocationContextProvider.class)
    void verifyPact(PactVerificationContext context, HttpRequest request) { 
        context.verifyInteraction();
    }

    @State("towary są dostępne")
    void setItemsAvailableState() {
        when(itemRepository.getItems()).thenReturn(
            List.of(new Item("A091897654", "Zielony", "S"),
                new Item("A091897654","Zielony","S")));
    }
